#ifndef FORM_MODE_VERIFY_DLG_H
#define FORM_MODE_VERIFY_DLG_H

#include <QWidget>
#include <QApplication>
#include "ui/defines/global.h"

class QLineEditPwd;

namespace Ui {
class FormModeVerifyWidget;
}

class FormModeVerifyWidget : public QWidget
{
    Q_OBJECT

public:
    // Get an instance of "FormModeVerifyWidget" class, if exist, return it
    static FormModeVerifyWidget* getInstance(QWidget *pParent = nullptr);

    // Display the mode verify dialog
    void showModeVerifyDialog(QString sModeNameNew, QString sModeNameOld);

protected:
    // Triggers an event before it is switch language
    void changeEvent(QEvent *event);

signals:
    // Confirm to do it
    void signalReplayInfo(int nReplyType, bool bAccepted=true);

private slots:
    // Save the basic info after click the button
    void on_pushButton_Confirm_clicked();

    // Close the window after click the button
    void on_pushButton_Cancel_clicked();

private:
    // The default constructor
    explicit FormModeVerifyWidget(QWidget *parent = nullptr);

    // The default destructor
    virtual ~FormModeVerifyWidget();

    // After constructing object, initialize the object
    void _Initialze();

    // Init the window style
    void _InitUi();

    // Set Shadow under the window
    void _SetWindowShadow();

private:
    Ui::FormModeVerifyWidget *ui;

    QLineEditPwd *                  m_pLineEditPwd;
};

#endif // FORM_MODE_VERIFY_DLG_H
